package com.beikai.demo01.sort.impl;

import com.beikai.demo01.sort.ArrSort;

/**
 * Created with IntelliJ IDEA.
 *
 * @author : hanbeikai
 * Date: 2021/6/4 7:48 下午
 * Description: 冒泡排序
 *  使用双重循环,第一层的循环为了查出这层循环的第 i 大或小 的值
 *  第二层循环进行两两比较,一直把最大值或最小值放到右边 第 arr.length - i 的位置
 */
public class MaoPaoSort extends ArrSort {

    @Override
    public int[] sort(int[] arr) {
        // 第一层循环表示查询的次数
        for (int i = 1; i < arr.length; i++) {
            // 第二层从0位开始每次进行相邻的两个数进行比较,求的前 arr.length - i中的最大值
            for (int j = 0; j < arr.length-i; j++) {
                if (arr[j] < arr[j+1]){
                    swap(arr,j,j+1);
                }
            }
        }
        return arr;
    }
}
